#include <interface.h>

/**
 * Implementa ação ao clicar no botão cancelar
 */
void INTERFACE::cancelar_login_action() {
    delete this->hbox_login;
    delete this->label_login;
    this->dialog_login.hide();
}

/**
 * Implementa ação ao clicar em OK tenta
 * realizar conexão com o servidor 
 */
void INTERFACE::ok_login_action() {
    string user, senha, servidor;

    // Verifica se foi informado os usuário, senha e endereço do servidor
    // Caso não tenha informado algun do parametro informa mensagem de erro
    if (this->user.get_text().empty() || this->senha.get_text().empty()) {

        this->mensagem(
                "Erro ao realizar login",
                "Informe Usuário e Senha para proseguir",
                Gtk::MESSAGE_ERROR,
                Gtk::BUTTONS_OK
                );
        return;
    }

    /* recebe dados de conexão */
    user = this->user.get_text();
    senha = this->senha.get_text();
    servidor = "localhost";

    /* Chama método que realiza conexão com servidor */
    if (this->conectar_servidor(user, senha, servidor)) {

        this->dialog_login.hide();

        this->construct_interface();

    } else {
        /* Caso não consiga realiza informa mensagem de erro */
        this->mensagem(
                "Erro ao efetuar login.",
                "Verifique as informações e tente novamente.",
                Gtk::MESSAGE_ERROR,
                Gtk::BUTTONS_OK
                );
    }
}

/*
 * Método que verifica se o usuário já esta logado no sistema
 */
bool INTERFACE::logado() {
    
    /*Caso o login for aceito e armazenado usuário e senha */
    if ((!this->usuario_fw.empty()) && (!this->senha_fw.empty())) {
        return true;
    } else {
        return false;
    }
}
